<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //一、 ES6新增循环  for of ：可以循环可迭代对象
        // Array 、 Map 、Set 、String 、Arguments

        // let arr = ["张三",'李四','王五'];
        // for of  循环出来的是val ：键值 等同于 for in里的 arr[key]
        // for(let val of arr){
        //     console.log(val);
        // }

        // // for in  循环的是key（下标）值 
        // for(let key in arr){
        //     console.log(key,arr[key])  
        // }

        // for of 不能循环对象 
        // let obj = {
        //     name:"张三",
        //     age:20
        // }
        // for(let val of obj){
        //     console.log(val);
        // }


        // 二、对象新增的方法；
        // 1.Object.is 修复了一个小bug ,可以用 比较 NaN
        // console.log(1===1);
        // console.log(NaN===NaN);
        // console.log(Object.is(NaN,NaN));
        // 2.Object.assign 合并一个或者多个对象
        // 合并对象 键名不能重复 ；
    //     let obj1 = {
    //         name:"张三"
    //     }
    //     let obj2 = {
    //         age:20
    //     }
    //     let obj3 = {
    //         height:"178cm",
    //         age:30
    //     }
    //    let newObj =  Object.assign(obj1,obj2,obj3);
    //    console.log(newObj);
        // 3.Object.keys:获取对象里键名 / Object.values：获取对象里键值
        let obj = {
            name:"张三",
            age:20
        }
       let keys =  Object.keys(obj);
       let values = Object.values(obj);
       console.log(keys);
       console.log(values);



    </script>
</body>
</html>